#相较于alg这个算法代码表达的更加简洁,缺点：代码开销空间比较大，运行速度比代码alg算法慢128倍左右
def quickSort(lst,reverse=False):
    if len(lst)<=1:
        return lst
    #使用最后一个元素作为轴值
    pivot=lst.pop()
    first,second=[],[]
    #使用升序排列
    exp='x<=pivot'
    #reverse=True表示降序
    if reverse==True:
        exp='x>=pivot'
    for x in lst:
        first.append(x) if eval(exp) else second.append(x)
    #递归调用
    return quickSort(first,reverse)+[pivot]+quickSort(second,reverse)